#pragma once
#include <iostream>

struct PanoramaInfoBase {
	int rows;
	int cols;
	float yaw_range;
	float pitch_range;
};

class PanoramaBase {
public:
	enum PanoramaState{
		IDEL,
		Running,
		Stopping
	};

	virtual int CapturePanoramaImages(std::string save_path, int rows, int cols, PanoramaInfoBase& out) = 0;
	PanoramaState GetCurrentState(){
		return _panorama_state;
	}
protected:
	virtual void SetCurrentState(PanoramaState state){
		_panorama_state = state;
	}
private:
	PanoramaState _panorama_state = PanoramaState::IDEL;
};